#if !defined(_OTA_HTTP)
#define _OTA_HTTP

/**
 * 通过libcurl 实现http下载
 * 可以从服务器下载版本号
 * 可以从服务器下载ota包
 */

typedef struct {
    int major; // 主版本号
    int minor; // 次版本号
    int patch; // 修订号

} AppVersion;

#define VERSION_URL "http://smart_gateway:12345/version"
#define FIRMWARE_URL "http://smart_gateway:12345/firmware"
#define FIRMWARE_SHA_URL "http://smart_gateway:12345/firmware_sha"

/**
 * @brief 从服务器下载版本号
 * @param version 版本号
 * @return 0:下载成功，-1:下载失败
 */
int ota_http_getVersion(AppVersion *version);

/**
 * @brief 从服务器下载ota包
 * @param version 版本号
 * @return 0:下载成功，-1:下载失败
 */
int ota_http_getFirmware(char *filename);

/**
 * @brief 从服务器下载ota包的sha码
 * @param version 版本号
 * @return 0:下载成功，-1:下载失败
 */
int ota_http_getFirmwareSha(AppVersion *version);


#endif // _OTA_HTTP
